// Decompiled by GOOSIN CO,LTD Copyright 2010 Pavel Kouznetsov.
// home page: http://www.Goosin.net
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   register_ok.java

package qcs.sample;

import com.jspsmart.upload.*;
import include.nseer_cookie.*;
import include.nseer_db.nseer_db_backup1;
import java.io.IOException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.jsp.JspFactory;

public class register_ok extends HttpServlet
{

	public register_ok()
	{
	}

	public synchronized void service(HttpServletRequest request, HttpServletResponse response)
		throws IOException, ServletException
	{
		HttpSession dbSession = request.getSession();
		JspFactory _jspxFactory = JspFactory.getDefaultFactory();
		javax.servlet.jsp.PageContext pageContext = _jspxFactory.getPageContext(this, request, response, "", true, 8192, true);
		ServletContext dbApplication = dbSession.getServletContext();
		try
		{
			HttpSession session = request.getSession();
			ServletContext context = session.getServletContext();
			String path = context.getRealPath("/");
			counter count = new counter(dbApplication);
			SmartUpload mySmartUpload = new SmartUpload();
			mySmartUpload.setCharset("UTF-8");
			nseer_db_backup1 qcs_db = new nseer_db_backup1(dbApplication);
			if (qcs_db.conn((String)dbSession.getAttribute("unit_db_name")))
			{
				mySmartUpload.initialize(pageContext);
				String file_type = getFileLength.getFileType((String)session.getAttribute("unit_db_name"));
				long d = getFileLength.getFileLength((String)session.getAttribute("unit_db_name"));
				mySmartUpload.setMaxFileSize(d);
				mySmartUpload.setAllowedFilesList(file_type);
				try
				{
					mySmartUpload.upload();
					String sample_lable[] = mySmartUpload.getRequest().getParameterValues("sample_lable");
					if (sample_lable != null)
					{
						String file_name[] = new String[mySmartUpload.getFiles().getCount()];
						Date now = new Date();
						SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
						String time = formatter.format(now);
						String sample_id = NseerId.getId(getClass().getResource("").toString(), (String)dbSession.getAttribute("unit_db_name"));
						for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++)
						{
							SmartFile file = mySmartUpload.getFiles().getFile(i);
							if (file.isMissing())
							{
								file_name[i] = "";
							} else
							{
								int filenum1 = count.read((String)dbSession.getAttribute("unit_db_name"), "qcsAttachmentcount");
								count.write((String)dbSession.getAttribute("unit_db_name"), "qcsAttachmentcount", filenum1);
								file_name[i] = (new StringBuilder(String.valueOf(filenum1))).append(file.getFileName()).toString();
								file.saveAs((new StringBuilder(String.valueOf(path))).append("qcs/file_attachments/").append(filenum1).append(file.getFileName()).toString());
							}
						}

						String apply_id = mySmartUpload.getRequest().getParameter("apply_id");
						String quality_type = mySmartUpload.getRequest().getParameter("quality_type");
						String sampling_person = mySmartUpload.getRequest().getParameter("sampling_person");
						String sampling_time = mySmartUpload.getRequest().getParameter("sampling_time");
						String register = mySmartUpload.getRequest().getParameter("register");
						String register_time = mySmartUpload.getRequest().getParameter("register_time");
						String bodyab = new String(mySmartUpload.getRequest().getParameter("remark").getBytes("UTF-8"), "UTF-8");
						String remark = exchange.toHtml(bodyab);
						String sqla = "insert into qcs_sample(sample_id,lately_view_time,quality_type,apply_id,sampling_person,sampling_time,register,register_time,remark";
						String sqlb = (new StringBuilder(") values ('")).append(sample_id).append("','").append(sampling_time).append("','").append(quality_type).append("','").append(apply_id).append("','").append(sampling_person).append("','").append(sampling_time).append("','").append(register).append("','").append(register_time).append("','").append(remark).append("'").toString();
						for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++)
						{
							int p = i + 1;
							sqla = (new StringBuilder(String.valueOf(sqla))).append(",attachment").append(p).toString();
							sqlb = (new StringBuilder(String.valueOf(sqlb))).append(",'").append(file_name[i]).append("'").toString();
						}

						String sql = (new StringBuilder(String.valueOf(sqla))).append(sqlb).append(")").toString();
						qcs_db.executeUpdate(sql);
						String product_id[] = mySmartUpload.getRequest().getParameterValues("product_id");
						String product_name[] = mySmartUpload.getRequest().getParameterValues("product_name");
						String amount_unit[] = mySmartUpload.getRequest().getParameterValues("amount_unit");
						String sumtotal[] = mySmartUpload.getRequest().getParameterValues("sumtotal");
						String sampling_amount[] = mySmartUpload.getRequest().getParameterValues("sampling_amount");
						String view_cycle[] = mySmartUpload.getRequest().getParameterValues("view_cycle");
						String deposit_limit[] = mySmartUpload.getRequest().getParameterValues("deposit_limit");
						String deposit_place[] = mySmartUpload.getRequest().getParameterValues("deposit_place");
						for (int i = 0; i < sample_lable.length; i++)
							if (!sample_lable[i].equals(""))
							{
								sql = (new StringBuilder("insert into qcs_sample_details(sample_id,sample_lable,product_id,product_name,amount_unit,sumtotal,sampling_amount,view_cycle,deposit_limit,deposit_place,details_number) values('")).append(sample_id).append("','").append(sample_lable[i]).append("','").append(product_id[i]).append("','").append(product_name[i]).append("','").append(amount_unit[i]).append("','").append(sumtotal[i]).append("','").append(sampling_amount[i]).append("','").append(view_cycle[i]).append("','").append(deposit_limit[i]).append("','").append(deposit_place[i]).append("','").append(i).append("')").toString();
								qcs_db.executeUpdate(sql);
							}

						List rsList = GetWorkflow.getList(qcs_db, "qcs_config_workflow", "13");
						if (rsList.size() == 0)
						{
							sql = (new StringBuilder("update qcs_sample set check_tag='1' where sample_id='")).append(sample_id).append("'").toString();
							qcs_db.executeUpdate(sql);
						} else
						{
							for (Iterator ite = rsList.iterator(); ite.hasNext(); qcs_db.executeUpdate(sql))
							{
								String elem[] = (String[])ite.next();
								sql = (new StringBuilder("insert into qcs_workflow(config_id,object_ID,describe1,describe2) values ('")).append(elem[0]).append("','").append(sample_id).append("','").append(elem[1]).append("','").append(elem[2]).append("')").toString();
							}

						}
						response.sendRedirect("qcs/sample/register_ok.jsp?finished_tag=0");
						qcs_db.commit();
						qcs_db.close();
					} else
					{
						response.sendRedirect("qcs/sample/register_ok.jsp?finished_tag=2");
					}
				}
				catch (Exception ex)
				{
					response.sendRedirect("qcs/sample/register_ok.jsp?finished_tag=1");
				}
			} else
			{
				response.sendRedirect("error_conn.htm");
			}
		}
		catch (Exception ex)
		{
			ex.printStackTrace();
		}
	}
}
